<h4>Release 99</h4>
<table>
<tbody>

<tr><td>Released: 2003-09-14 1740 EDT</td></tr>

<tr><td>Committed to XFree86 CVS: not yet</td></tr>

<tr><td>Basis: Release 98</td></tr>

<tr><td>Cygwin setup.exe package: XFree86-xserv-4.3.0-9</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>winmultiwindowwm.c - Add handling for WM_CHANGE_STATE IconicState
messages; minimize the associated Windows window when these messages
are received.  (Harold L Hunt II)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 98</h4>
<table>
<tbody>

<tr><td>Released: 2003-09-11 1314 EDT</td></tr>

<tr><td>Committed to XFree86 CVS: not yet</td></tr>

<tr><td>Basis: Release 97</td></tr>

<tr><td>Cygwin setup.exe package: XFree86-xserv-4.3.0-7</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>winconfig.c - Disable the check for the specific keyboardtype 4
(pc105) and always assume that a 105 key keyboard is present.  This
fixes undetected layouts because of keyboard drivers which return
undocumented keyboardtypeids.  (Alexander Gottwald)</li>

<li>Xserver/xkb/ddxLoad.c - Read keymaps generated by xkbcomp as
binary files.  (Alexander Gottwald)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 97</h4>
<table>
<tbody>

<tr><td>Released: 2003-09-03 1955 EDT</td></tr>

<tr><td>Committed to XFree86 CVS: not yet</td></tr>

<tr><td>Basis: Release 96</td></tr>

<tr><td>Cygwin setup.exe package: XFree86-xserv-4.3.0-6</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>winconfig.c - Print the name of the keyboard layout to help in
adding new layouts.  (Alexander Gottwald)</li>

<li>winshadddnl.c - Stop printing the IDirectDrawSurface4_Blt()
failure messages after 10 times.  The message was clogging some
people's log files.  (Harold L Hunt II)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 96</h4>
<table>
<tbody>

<tr><td>Released: 2003-08-27 1505 EDT</td></tr>

<tr><td>Committed to XFree86 CVS: not yet</td></tr>

<tr><td>Basis: Release 95</td></tr>

<tr><td>Cygwin setup.exe package: XFree86-xserv-4.3.0-4</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>winprefs* - Add a system to allow the user to specify arbitrary
commands for the system tray menu (e.g. program launching shortcuts)
as well as custom icons for certain window classes.  This is a huge
system and is really very amazing.  Preferences are stored in
~/.XWinrc or in /usr/X11R6/lib/X11/system.XWinrc, which is formatted
as in this <a
href="http://www.msu.edu/~huntharo/xwin/devel/server/example.XWinrc">example
.XWinrc file</a>.  (Earle F. Philhower III)</li>

<li>winmultiwindowclass.c - Fix a string copy bug in MultiWindow mode
that was likely to have been causing crashes for some people.  (Earle
F. Philhower III)</li>

<li>winconfig.c - Add new defaults for keyboardlayout: English (USA,
Dvorak) and Norwegian.  (Alexander Gottwald)</li>

</ul>
</td>
</tr>
</tbody>
</table>




<h4>Release 95</h4>
<table>
<tbody>

<tr><td>Released: 2003-08-02 2115 EDT</td></tr>

<tr><td>Committed to XFree86 CVS: not yet</td></tr>

<tr><td>Basis: Release 94</td></tr>

<tr><td>Cygwin setup.exe package: XFree86-xserv-4.3.0-3</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>Signal the clipboard and multiwindow window manager threads to
stop trying to reconnect when the server is being shutdown.  These
reconnection attempts were causing intermittent GPFs (General
Protection Faults) on shutdown.  (Earle F. Philhower III)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 94</h4>
<table>
<tbody>

<tr><td>Released: 2003-08-01 2345 EDT</td></tr>

<tr><td>Committed to XFree86 CVS: not yet</td></tr>

<tr><td>Basis: Release 93</td></tr>

<tr><td>Cygwin setup.exe package: XFree86-xserv-4.3.0-2</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>winmultiwindowwm.c, winmultiwindowclass.h, winmultiwindowwndproc.c
- Automatically validate the sizes of windows while you're sizing
them, just like you find in most X11 window managers.  (Earle
F. Philhower III)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 93</h4>
<table>
<tbody>

<tr><td>Released: 2003-07-30 1915 EDT</td></tr>

<tr><td>Committed to XFree86 CVS: not yet</td></tr>

<tr><td>Basis: Release 92</td></tr>

<tr><td>Cygwin setup.exe package: XFree86-xserv-4.2.0-44</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>wintrayicon.c - Change code that shows/hides the seperator on the
tray icon menu.  This change was required to stay in synch with the
change in the position of the tray icon menu items that was applied to
XWin.rc in Release 92.  (Earle F. Philhower III)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 92</h4>
<table>
<tbody>

<tr><td>Released: 2003-07-28 2010 EDT</td></tr>

<tr><td>Committed to XFree86 CVS: 2003-07-29</td></tr>

<tr><td>Basis: Release 91</td></tr>

<tr><td>Cygwin setup.exe package: XFree86-xserv-4.2.0-43</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>winconfig.c - Add new defaults for keyboardlayout: German
(Switzerland) and English (USA, International).  (Alexander
Gottwald)</li>

<li>XWin.rc - Move Exit button to the bottom of the tray icon's menu.
(List suggestion)</li>

<li>winmultiwindowclass.c - Add checks for NULL pointers.  Should help
fix some crashes in MultiWindow mode.  (Ralf Habacker)</li>

<li>General - Add global variable that tracks whether XInitThreads ()
has been called so that it is only called once per process.  Calling
XInitThreads multiple times may have been contributing to crashes.
(Harold L Hunt II)</li>

</ul>
</td>
</tr>
</tbody>
</table>




<h4>Release 91</h4>
<table>
<tbody>

<tr><td>Released: 2003-06-02 1055 EDT</td></tr>

<tr><td>Committed to XFree86 CVS: 2003-07-29</td></tr>

<tr><td>Basis: Release 90</td></tr>

<tr><td>Cygwin setup.exe package: XFree86-xserv-4.2.0-42</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>winconfig.c - Change nodeadkeys default to NULL for the German
(Germany) keyboard layout.  (Alexander Gottwald, Benjamin
Riefenstahl)</li>

<li>X.ico - Add 24 x 24 - 256 color and 24 x 24 - 16 color icons.
(Harold L Hunt II, Benjamin Riefenstahl)</li>

<li>wintrayicon.c - Change hard-coded 16 x 16 icon load to use
GetSystemMetrics (SM_CXSMICON) and GetSystemMetrics (SM_CYSMICON) to
retrieve size of small icon to be used.  Hopefully this loads the 24 x
24 icon on systems that have been changed to use 24 x 24 icons for the
notification tray.  (Harold L Hunt II, Benjamin Riefenstahl)</li>

<li>winmultiwindowwindow.c - Break some functions from this file into
several new files: winmultiwindowicons.c, winmultiwindowshape.c, and
winmultiwindowwndproc.c.  Provide enough Tender Loving Care (TLC) to
the various header files so that all files still build with no
warnings.  Note that this drops the size of winmultiwindowwindow.c
from 55 KiB to 21 KiB and creates three new files, none of which is
larger than 23 KiB.  Of those three new files, winmultiwindowicons.c
is 10 KiB, winmultiwindowshape.c is 6 KiB, and winmultiwindowwndproc.c
is 23 KiB.  Finally, it is interesting to note that
winmultiwindowwndproc.c contains a single function,
winTopLevelWindowProc(), so that file cannot be made any smaller by
breaking other functions into separate files.  (Harold L Hunt II)</li>

<li>winclass.c, winclass.h - Rename these files to
winmultiwindowclass.c and winmultiwindowclass.h, respectively, since
they are only used in MultiWindow mode.  Prefix the functions in these
files with MultiWindow.  (Harold L Hunt II)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 90</h4>
<table>
<tbody>

<tr><td>Released: 2003-06-01 1655 EDT</td></tr>

<tr><td>Committed to XFree86 CVS: 2003-07-29</td></tr>

<tr><td>Basis: Release 89</td></tr>

<tr><td>Cygwin setup.exe package: XFree86-xserv-4.2.0-41</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>wintrayicon.c/winInitNotifyIcon() - Replace call to LoadIcon with
a call to LoadImage that specifies the 16x16 icon as the size to be
loaded.  This makes the tray icon look much cleaner.  (Colin
Harrison)</li>

<li>wintrayicon.c/winDeleteNotifyIcon() - Call DestroyIcon on the icon
that was loaded in winInitNotifyIcon().  (Harold L Hunt II)</li>

<li>Clean up all compiler warnings in xc/programs/Xserver/hw/xwin.
The code now builds without a single warning when using the default
compilation flags on a Cygwin host.  (Harold L Hunt II)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 89</h4>
<table>
<tbody>

<tr><td>Released: 2003-05-31 2255 EDT</td></tr>

<tr><td>Committed to XFree86 CVS: 2003-07-29</td></tr>

<tr><td>Basis: Release 88</td></tr>

<tr><td>Cygwin setup.exe package: XFree86-xserv-4.2.0-40</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>winmultiwindowwindow.c/winTopLevelWindowProc() - Rework the mouse
polling timer so that it is attached to the root-level window.  This
prevents multiple mouse polling timers from being created, which was
happening in the old versions.  Introduce a new way of determining
that the timer should be created or deleted, which will hopefully fix
some corner cases where the timer was not being created.  (Harold L
Hunt II)</li>

<li>XWin.rc - Remove a couple of window style flags that were not
compatible with Earle's patch for removing the minimize and maximize
buttons from the dialog boxes.  (Earle F. Philhower III)</li>

<li>XWin.rc - Make ``x'' and ``C'' hotkeys for the Exit Confirmation
dialog box.  (Colin Harrison, Biju G C)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 88</h4>
<table>
<tbody>

<tr><td>Released: 2003-05-30 2355 EDT</td></tr>

<tr><td>Committed to XFree86 CVS: 2003-07-29</td></tr>

<tr><td>Basis: Release 87</td></tr>

<tr><td>Cygwin setup.exe package: XFree86-xserv-4.2.0-39</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>winmultiwindowwindow.c/winScaleXBitmapToWindows() - Clear the bits
in the alpha channel of the converted 32 bpp bitmap because it was
causing problems with window icons for certain display drivers.  Most
notably, display drivers from ATI were exhibiting these problems.
(Earle F. Philhower III)</li>

<li>wincursor.c/winPointerWarpCursor() - Discard the first cursor warp
message, since this is just X putting the mouse cursor in the center
of the screen, which is undesirable in Windows.  (Earle F. Philhower
III, Harold L Hunt II)</li>

<li>windialogs.c/winDisplay[Exit|DepthChange]Dialog() - Add calls to
drop the minimize and maximize buttons from the Exit Confirmation and
Depth Change dialog boxes, while preserving the icon on the upper left
hand corner of the dialog window.  (Earle F. Philhower III)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 87</h4>
<table>
<tbody>

<tr><td>Released: 2003-05-29 0045 EDT</td></tr>

<tr><td>Committed to XFree86 CVS: 2003-07-29</td></tr>

<tr><td>Basis: Release 86</td></tr>

<tr><td>Cygwin setup.exe package: XFree86-xserv-4.2.0-38</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>Convert X application icons set in WM_HINTS from XPMs to Windows
BMPs using an internal algorithm.  Earle, Ralf, and Colin worked
together on this one with coding, suggesting ideas, and testing.  The
end result is, as they say, very nearly perfect.  Each top-level X
window is now given its own class that has an icon associated with it.
The icon can be even changed while the application is running and this
is properly handled.  Icons are properly freed when a window and its
associated class are destroyed.  This entry encompasses a flurry of
emails and patches that I cannot possibly recount here; hopefully no
one feels slighted by this brief summary.  (Earle F. Philhower III,
Ralf Habacker, Colin Harrison)</li>

<li> Set XIconSizes() to the Windows approved 16, 32, and 48.  It
doesn't seem to be looked at by anything, but it is in the XLib
documents as something a WM should set.  (Earle F. Philhower III)</li>

<li>Removed several misc compile warnings.  (Earle F. Philhower
III)</li>

<li>winmultiwindowwindow.c/winTopLevelWindowProc() - Add a call to
winKeybdReleaseKeys () in WM_KILLFOCUS.  This fix stops the phantom
key presses that people were seeing.  The example here would be to
launch an xterm, then launch another xterm from that xterm.  Type
``exit'' in the first xterm and press enter.  The enter keydown
message is processed by the second xterm, but the keyup is never
processed so it got sent repeatedly to the root-level message loop
(which performs all keyboard processing), causing phantom key presses
to show up in any X app that currently had the focus.  At least, I
think that is that the problem was.  An interim solution was to press
and release the enter key, which would cause a keydown/keyup message
combo to be sent, thus ending the crazy looping.  This fix pops all
keys that are pressed when the current X app looses the keyboard
focus.  Colin suggested this, Earle move the location of the call to
the proper place.  (Colin Harrison, Earle F. Philhower III)</li>

<li>XWin.rc - Change the Exit Confirmation and Depth Change dialog
boxes to be centered by adding the DS_CENTER flag to the STYLE
attribute.  (Biju G C, Harold L Hunt II)</li>

<li>winmultiwindowwindow.c/winTopLevelWindowProc() - Let
DefaultWindowProc() handle the Alt+F4 key combo in the WM_*KEYDOWN
messages.  This allows a user to close a top-level X window (which has
an associated Windows window) by pressing Alt+F4.  Note that this
happens regardless of the -[no]winkill command-line parameter.  This
is the desired behavior since -[no]winkill should only affect the
behavior of the root-level window, not the individual X Client
windows.  (Biju G C, Harold L Hunt II)</li>

<li>winwndproc.c/winWindowProc() - Define a WM_GIVEUP message that
calls GiveUp(); remove the GiveUp() call from WM_CLOSE and replace it
with a call to winDisplayExitDialog(), which displays the Exit
Confirmation dialog box.  This only makes sense in conjunction with
the next change log entry.  (Biju G C, Harold L Hunt II)</li>

<li>windialogs.c/winExitDlgProc()/WM_COMMAND/ID_OK - Pass WM_GIVEUP to
PostMessage() instead of passing WM_CLOSE.  This patch causes the end
result that, in MultiWindow mode, selecting Close from the system menu
for non-root-level Windows window causes that particular X Client to
be killed.  The previous result was that the XWin.exe process was
exited without displaying the Exit Confirmation dialog box.  This must
have been a frustrating situation indeed and it makes this bug a
marvelous catch on Biju's part.  NOTE: The system menu can be opened
by right clicking on the title bar, or by left clicking the icon in
the upper left-hand corner of the app window, or by right clicking on
the application entry in the task bar.  (Biju G C, Harold L Hunt
II)</li>

<li>windialogs.c/winDisplay(Exit)|(ChangeDepth)Dialog() - Call
SetForegroundWindow() if the dialog box has already been created.
This pulls the dialog box to the foreground if it has been buried by
other windows.  It is legitimate to do this here because we are
responding to user input of some sort when this function gets called.
(Harold L Hunt II)</li>

<li>XWin.rc - Add the extended style WS_EX_DLGMODALFRAME and the
normal style WS_DLGFRAME to the Exit Confirmation dialog box in an
attempt to stop the dialog box from being listed in the task bar,
which was reported by one user.  This task bar listing has been
negatively confirmed in Windows 2000 and Windows XP, but it may be
happening in other versions of Windows.  Of course, this could have
been a reference to the fact that the dialog is present in the Alt+Tab
list.  However, that is the desired behavior and will not be changed
(how else could you get back to that dialog box?).  (Biju G C, Harold
L Hunt II)</li>

<li>Try, in vain, to maintain a uniform coding style and
variable/function naming convention.  I am mostly winning the
curly-brace (curly braces on separate lines please), indenting (emacs
default please), parameter spacing (e.g. func&nbsp;(x, y) instead of
func(&nbsp;x,y&nbsp;), func(&nbsp;x, y&nbsp;), or even func(x,y)), and
binary operator spacing ((x&nbsp;+&nbsp;y) instead of (x+y)) wars, but
I am pitiful excuse for a belligerent dictator when it comes to the
variable naming (follow examples in winwndproc.c), variable prefixing
(follow winwndproc.c, which is my own sick mix of Hungarian prefixes
(int, dw, psz, f) and old-school C prefixes (i, n, l)), and function
naming wars.  I would like to ask all contributors to try to follow
the code that they see in the files that I authored, but I don't feel
that I have the right to reject patches that don't follow those
conventions.  I will, however, try my best to adapt all patches so
that I can read them and more easily maintain them in the future.  You
may also have noticed that I am a profuse commentor... I do that
because I have a very poor memory of why things were done they way
that they were done, so I sprinkle tips throughout the code to help
myself remember things.  You know, I have been realizing the entire
time that I was writing this change log that I have low blood sugar, I
am very tired, and this is so not the place for such huge amounts of
text.  Time for bed.  Change log over.  (Anonymous... Like you have to
guess)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 86</h4>
<table>
<tbody>

<tr><td>Released: 2003-05-18 1426 EDT</td></tr>

<tr><td>Committed to XFree86 CVS: 2003-07-29</td></tr>

<tr><td>Basis: Release 85</td></tr>

<tr><td>Cygwin setup.exe package: XFree86-xserv-4.2.0-37</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>winmultiwindowwindow.c/winTopLevelWindowProc() - Remove a
dependency on GetWindowInfo(), which is only present in NT 4.0 SP6,
Windows 98, and later.  Thanks to Dr. Charles L. Werner for reporting
this problem on Windows NT 4.0 SP3 and to Alexander Gottwald for
confirming that GetWindowInfo() is not present in Windows 95.  (Earle
F. Philhower III)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 85</h4>
<table>
<tbody>

<tr><td>Released: 2003-05-17 1320 EDT</td></tr>

<tr><td>Committed to XFree86 CVS: 2003-07-29</td></tr>

<tr><td>Basis: Release 84</td></tr>

<tr><td>Cygwin setup.exe package: XFree86-xserv-4.2.0-36</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>Implement window title changing in MultiWindow mode.  (Earle
F. Philhower III)</li>

<li>Implement an Always On Top command in the right-click menu (System
Menu) for each window in MultiWindow mode.  (Earle F. Philhower,
III)</li>

<li>Move the XNextEvent loop into a separate thread for MultiWindow
mode.  (Earle F. Philhower III)</li>

<li>Fix a race between the startup of the clipboard thread and
MultiWindow window manager thread that caused window title changing to
bork.  (Harold L Hunt II)</li>

<li>Stop calling pthread_exit () from winClipboardErrorHandler ().  An
error is an error, not a reason to dump core.  This may fix problems
people have been having with -clipboard, but I don't make any
promises.  (Harold L Hunt II)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 84</h4>
<table>
<tbody>

<tr><td>Released: 2003-05-13 0954 EDT</td></tr>

<tr><td>Committed to XFree86 CVS: 2003-07-29</td></tr>

<tr><td>Basis: Release 83</td></tr>

<tr><td>Cygwin setup.exe package: XFree86-xserv-4.2.0-35</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>Fix/implement window maximizing and restoring in MultiWindow mode.
(Earle F. Philhower III)</li>

<li>Implement handling in MultiWindow mode for monitors to the left of
the primary monitor on systems with multiple monitors.  (Earle
F. Philhower III)</li>

<li>Destroy the Exit confirmation dialog box and NULL its pointer when
the server is reset.  This fixes a problem that occurred when the Exit
confirmation dialog box was displayed and the server was reset; the
Exit confirmation dialog box would never display again after that
happened, preventing you from normally exiting Cygwin/X.
(Harold L Hunt II)</li>

<li>Make the Windows window title include the display number and
screen number (e.g. Cygwin/X 0:0) for the main window in
non-MultiWindow modes and the normally hidden root window in
MultiWindow mode.  (Harold L Hunt II)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 83</h4>
<table>
<tbody>

<tr><td>Released: 2003-05-01 1250 EDT</td></tr>

<tr><td>Committed to XFree86 CVS: 2003-07-29</td></tr>

<tr><td>Basis: Release 82</td></tr>

<tr><td>Cygwin setup.exe package: XFree86-xserv-4.2.0-34</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>Fix the Exit confirmation dialog box so that the arrow keys, tab
keys, and Enter/Escape keys all work.  Additionally, make the Exit
confirmation dialog box get the keyboard focus when it is opened.  It
was being set as the active window, but the keyboard focus was not
being set properly.  (Harold L Hunt II)</li>

<li>Make the Cancel button the default button on the Exit confirmation
dialog box.  Thanks to Biju G C for giving me a heads-up on this one.
(Harold L Hunt II)</li>

<li>Fix the cursor hiding on the Exit confirmation dialog box that was
occurring when no X Client windows were open in MultiWindow
mode.  (Harold L Hunt II)</li>

<li>Fix the Exit confirmation dialog box so that it doesn't prevent
the keyboard focus from returning to X Client windows in MultiWindow
mode when you dismiss the dialog box by closing it or by pressing
Cancel.  (Harold L Hunt II)</li>

<li>Change the root window title in MultiWindow mode to
``Cygwin/X'' from ``Cygwin/X rl''.  (Harold L Hunt
II)</li>

<li>Change MultiWindow mode to use XWin.log again, instead of
XWinrl.log.  (Harold L Hunt II)</li>

<li>Change the top-level window procedure for MultiWindow mode to
share a global cursor hidden/shown flag with the root window
procedure.  (Harold L Hunt II)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 82</h4>
<table>
<tbody>

<tr><td>Released: 2003-04-30 2025 EDT</td></tr>

<tr><td>Committed to XFree86 CVS: 2003-07-29</td></tr>

<tr><td>Basis: Release 81</td></tr>

<tr><td>Cygwin setup.exe package: XFree86-xserv-4.2.0-33</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>Add an exit confirmation dialog box for when the user selects Exit
from the tray icon right-click menu and for when the user presses
Alt-F4 or Ctrl-Alt-Backspace (if the -unixkill command-line parameter
was specified).  (Harold L Hunt II)</li>

<li>Add ``Show Root Window'' and ``Hide Root Window'' commands to the
tray icon right-click menu when using MultiWindow mode (-multiwindow
command-line parameter).  These commands should be self-explanatory.
Thanks to Biju G C for the idea for this.  (Harold L Hunt II)</li>

<li>Add the X icon to the Depth Change dialog box.  Has anyone ever
seen this dialog box?  I added it months ago and have never heard from
anyone that it works or doesn't work.  (Harold L Hunt II)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 81</h4>
<table>
<tbody>

<tr><td>Released: 2003-04-29 2347 EDT</td></tr>

<tr><td>Committed to XFree86 CVS: 2003-07-29</td></tr>

<tr><td>Basis: Release 80</td></tr>

<tr><td>Cygwin setup.exe package: XFree86-xserv-4.2.0-32</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>Fix tray icon right-click menu to make sure that it disappears
when you click outside of the menu.  (Harold L Hunt II)</li>

<li>Delete the tray icon in the per-screen close procedure, which
ensures that every tray icon is deleted.  This also causes the tray
icons to be deleted when the server is reset, which is required since
the tray icons are recreated when the server is reset.  (Harold L Hunt
II)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 80</h4>
<table>
<tbody>

<tr><td>Released: 2003-04-29 1932 EDT</td></tr>

<tr><td>Committed to XFree86 CVS: 2003-07-29</td></tr>

<tr><td>Basis: Release 79</td></tr>

<tr><td>Cygwin setup.exe package: XFree86-xserv-4.2.0-31</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>Add automatic keyboard detection for ``Portuguese (Brazil)'',
``Portuguese (Portugal)'', and ``Italian''.  (Alexander Gottwald)</li>

<li>Add taskbar notification area (tray) icon.  Exit on double-click
of icon.  (Early Ehlinger)</li>

<li>Add popup menu for right-click on tray icon.  Add menu item for
``Exit''.  (Harold L Hunt II)</li>

<li>Add -[no]trayicon command-line parameters.  The default is for the
tray icon to be created for each screen (as if -trayicon were
passed).  You can turn tray icons off by placing -notrayicon at the
beginning of the parameter list to XWin.exe (must be before any
-screen x parameters).  You can then enable the tray icon on a
screen-by-screen basis by placing -trayicon after any -screen x
parameter that you wish to have tray icons enabled for.  For example,
``XWin.exe -notrayicon -screen 0 -screen 1 -screen 2 -trayicon'',
would create three screens, two of which (screens 0 and 1) would not have tray
icons, while the third (screen 2) would.</li>

<li>Hide root window in MultiWindow mode.  (Early Ehlinger)</li>

<li>Add some initial support files that might eventually hold code for
the X Video Extension.  These files do not currently affect the
operation of the server and I have stopped working on them for the
time, but I will leave them there as a place holder.  (Harold L Hunt
II)</li>

</ul>
</td>
</tr>
</tbody>
</table>


<h4>Release 79</h4>
<table>
<tbody>

<tr><td>Released: 2003-03-12 0937 EST</td></tr>

<tr><td>Committed to XFree86 CVS: 2003-07-29</td></tr>

<tr><td>Basis: XFree86 CVS</td></tr>

<tr><td>Cygwin setup.exe package: XFree86-xserv-4.2.0-27</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>MultiWindow Mode - Fix for the focus jumping rapidly and
uncontrollably between windows in certain scenarios.  (Kensuke
Matsuzaki)</li>

</ul>
</td>
</tr>
</tbody>
</table>


<h4>Release 78</h4>
<table>
<tbody>

<tr><td>Released: 2003-02-24 0828 EST</td></tr>

<tr><td>Committed to XFree86 CVS: 2003-07-29</td></tr>

<tr><td>Basis: XFree86 CVS</td></tr>

<tr><td>Cygwin setup.exe package: XFree86-xserv-4.2.0-26</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>Automatically detect several non-U.S. keyboard configurations by
querying Windows for the current locale.  (Alexander Gottwald)</li>

<li>Add a check for the height not being toggled to a positive integer
when the Shadow GDI DIB is created.  One user has reported it so far,
so it may be due to a single video card or driver version.  Also, this
may not fix the problem.  (Harold Hunt)</li>

</ul>
</td>
</tr>
</tbody>
</table>


<h4>Release 77</h4>
<table>
<tbody>

<tr><td>Released: 2003-01-29 1415 EST</td></tr>

<tr><td>Committed to XFree86 CVS: 2003-02-12 1005 EST</td></tr>

<tr><td>Basis: Release 76</td></tr>

<tr><td>Cygwin setup.exe package: XFree86-xserv-4.2.0-25</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>Only call setlocale () once per process.  This was causing crashes
on startup when using both the -clipboard and -multiwindow
command-line parameters.  (Kensuke Matsuzaki, Harold Hunt)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 76</h4>
<table>
<tbody>

<tr><td>Released: 2003-01-28 1923 EST</td></tr>

<tr><td>Committed to XFree86 CVS: 2003-02-12 1005 EST</td></tr>

<tr><td>Basis: Release 75</td></tr>

<tr><td>Cygwin setup.exe package: XFree86-xserv-4.2.0-24</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>winshadgdi.c/winAllocateFBShadowGDI - Fix how dwStride was being
calculated, which was causing a crash on startup with both the
-engine 1 and -multiwindow command-line parameters.  (Harold Hunt)</li>

</ul>
</td>
</tr>
</tbody>
</table>




<h4>Release 75</h4>
<table>
<tbody>

<tr><td>Released: 2003-01-26 2245 EST</td></tr>

<tr><td>Committed to XFree86 CVS: 2003-02-12 1005 EST</td></tr>

<tr><td>Basis: Release 74</td></tr>

<tr><td>Cygwin setup.exe package: XFree86-xserv-4.2.0-23</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>winshaddd[nl].c/winReleasePrimarySurfaceShadowDD[NL] - Check that
pddsPrimary is not NULL before calling
IDirectDrawSurface[2|4]_SetClipper.  This most likely showed up as a
crash during video depth changes.  (Alexander Gottwald)</li>

<li>winshaddd.c - Change a few accidental IDirectDrawSurface4
references to IDirectDrawSurface2.  (Harold Hunt)</li>

</ul>
</td>
</tr>
</tbody>
</table>
